package cn.tedu.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//1,Servlet程序的注解开发方式,代替了web.xml文件中的8行配置代码
@WebServlet("/ServletDemo04")//注解的参数是指浏览器的访问方式
public class ServletDemo04 extends HttpServlet {

    //2,Servlet的生命周期中会被调用的方法有:
    //init() service()/doGet/doPost destroy()
    //3,因为GenericServlet提供的以上方法中都是空实现,
    // 重写这些方法并添加方法体来感受初始化的不同阶段
    //4,重写的要求:有足够的权限 + 方法声明必须和父类一样
    @Override
    //正常的关闭服务器时,Servlet自己调用destroy(),只会调用一次
    public void destroy() {
        System.out.println("destroy()被调用了，Servlet即将被销毁！");
    }


    @Override
    //当第一次访问Servlet程序时,Servlet自己调用init(),只会调用一次
    public void init() throws ServletException {
        System.out.println("init()被调用了，Servlet已被销毁！");
    }

    @Override
    //每次访问Servlet程序时，Servlet自己调用service()，会调用多次
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet开始为您服务！！");
    }
}
